<?php

/**
 * Description of Personne
 *
 * @author ROCU Fabien
 */
class Personne {

    public $personne_id;

    public $personne_nom;
    public $personne_prenom;
    // TODO FRO  ajout de la date de naissance
    public $personne_adresse;
    public $personne_cp;
    public $personne_ville;
    public $personne_tel;
    public $personne_port;
    public $personne_email;

    function __construct( ) // aucune information dans le constructeur
    {

    }

    public function creer_personne(  ) // INSERT
    {
        global $_mysql;

        try {
            $query = "INSERT INTO personne VALUES ( null, '$this->personne_nom', '$this->personne_prenom', '$this->personne_adresse', $this->personne_cp, '$this->personne_ville', '$this->personne_tel', '$this->personne_port', '$this->personne_email');";
            if ( Config::$debugSQL ) echo $query;
            $result = $_mysql->query($query);

            if ( $result ) {
                $this->personne_id = $_mysql->last_insert_id();
                return $this->personne_id;
            } else
                throw new Exception('Erreur Personne: la création de la personne a rencontré un problème');

        }
        catch (SQLException $sqle) {
            throw $sqle;
        }
    }

    public function charger_personne( $id ) // SELECT
    {
        global $_mysql;

        $this->personne_id = $id;

        try {
            $query = "SELECT * FROM personne WHERE personne_id = $id";
            if ( Config::$debugSQL ) echo "<br />" . $query . "<br />";
            $result = $_mysql->query($query);

            if ( $_mysql->num_rows($result) > 0 ) {
                $val = $_mysql->fetch_array($result);

                $this->personne_nom = $val['personne_nom'];
                $this->personne_prenom = $val['personne_prenom'];
                $this->personne_adresse = $val['personne_adresse'];
                $this->personne_cp = $val['personne_cp'];
                $this->personne_ville = $val['personne_ville'];
                $this->personne_tel = $val['personne_tel'];
                $this->personne_port = $val['personne_port'];
                $this->personne_email = $val['personne_email'];

                if ( Config::$debugWHO_IS ) echo $this->qui_suis_je();
            }
            else
                throw new Exception('Erreur Personne: identifiant unique non respecté');

        }
        catch (SQLException $sqle) {
            throw $sqle;
        }

    }

    public function set_personne( $nom, $prenom, $adresse, $cp, $ville, $tel, $port, $email ) {
        $this->personne_nom = $nom;
        $this->personne_prenom = $prenom;
        $this->personne_adresse = $adresse;
        if ( $cp == "" || $cp == null)
            $this->personne_cp = 0;
        else
            $this->personne_cp = $cp;
        $this->personne_ville = $ville;
        $this->personne_tel = $tel;
        $this->personne_port = $port;
        $this->personne_email = $email;

        if ( Config::$debugWHO_IS ) echo $this->qui_suis_je();
    }

    public function sauvegarder_personne() // UPDATE
    {
        global $_mysql;

        try {
            $query = "UPDATE personne SET personne_nom = '" . $this->personne_nom . "', personne_prenom = '" . $this->personne_prenom . "', personne_adresse = '" . $this->personne_adresse . "', personne_cp = " . $this->personne_cp . ", personne_ville = '" . $this->personne_ville . "', personne_tel = '" . $this->personne_tel . "', personne_port = '" . $this->personne_port . "', personne_email = '" . $this->personne_email . "' WHERE personne_id = " . $this->personne_id . ";";
            if ( Config::$debugSQL ) echo $query;
            $result = $_mysql->query($query);

            if ( $result ) {

            } // Tout se passe bien ne rien faire
            else
                throw new Exception('Erreur Personne: la modification de la personne a rencontré un problème');

        }
        catch (SQLException $sqle) {
            throw $sqle;
        }
    }

    public function effacer_personne( $id ) // DELETE
    {
        $personne_id = $id;

        global $_mysql;

        try {
            $query = "DELETE FROM personne WHERE personne_id = $personne_id";
            if ( Config::$debugSQL ) echo $query;
            $result = $_mysql->query($query);

            if ( $result ) {

            } // Tout se passe bien ne rien faire
            else
                throw new Exception('Erreur Personne: la suppression de la personne a rencontré un problème');

        }
        catch (SQLException $sqle) {
            throw $sqle;
        }
    }

    public function qui_suis_je() // Return String
    {
        return " <br /> Personne --> ID: " . $this->personne_id . " Nom: " . $this->personne_nom . " Prénom: " . $this->personne_prenom . " Adresse: " . $this->personne_adresse . " CP: " . $this->personne_cp . " Ville: " . $this->personne_ville . " Téléphone fixe: " . $this->personne_tel . " Téléphone portable: " . $this->personne_port . " Email: " . $this->personne_email . "<br />";
    }

}

?>
